The present invention relates to electronic data processing, and more specifically concerns the selection of unique addresses by multiple terminals connected to a central processor by a communication cable.
Many data-processing (DP) systems have a central processor connected to multiple physically remote terminals by a communication medium such as a cable. To avoid running a separate cable to each terminal, a single multi-drop cable usually connects to each terminal. Each terminal then listens on the cable for its own unique address, and receives or transmits data only when specifically addressed.
An increasingly acute problem areises in such systems. Communication efficiency requires a relatively small number of possible addresses, since they must be sent on the cable along with the data. Also, existing system architectures and protocols have a limited number of addresses in any case. On the other hand, more powerful terminals--and personal computers emulating such terminals--can support multiple simultaneous tasks, and thus require multiple addresses for a single physical box. In the IBM System/36, for example, one cable supports seven addresses, but an IBM Personal Computer can emulate one or two concurrent terminal display sessions, a printer, and still other functions, several at the same time. This severely limits the number of boxes that can be connected to the cable at once, even though the usage might be quite low. That is, an operator might power up his terminal only occasionally, yet that terminal must reserve three (or more) of the seven addresses for its own use. This situation increases the number of ports, cables, and controllers of the system, and therefore increases its cost.
The prior art has responded to this and related problems. Some terminals have hardware switches which the operator can set to assign a unique address. Such a solution of course requires the operator to ascertain which addresses might be available before he powers up. This is time consuming, and errors would crash the entire system. The central processor could keep a table of addresses available for each port and assign them as terminals are powered up. This would require some action by an operator at the central processor; either the terminal operator would have to go to the location of the processor, or someone else would have to man the processor all the time.